In the automotive industry, remote keyless entry ("RKE") systems have become standard equipment for new vehicles. Comprising a receiver within the car and a number of fob transmitters for transmitting to the receiver, remote keyless entry systems. enable users to control several vehicle functions remotely, such as the door locks and trunk, for example.
In providing remote control to vehicle functions, a problem arises as to restricting remote access to the automobile's owners and authorized users. To prevent unauthorized access, an identification system is incorporated with a security code or codes within both the fob transmitter and receiver. The receiver receives a transmitted signal having a command and a security code and compares the received code with the security code stored in its memory. If the receiver determines the received security code to match the stored code, the command is initiated for execution. For the purposes of the present disclosure, the terms fob key, key code, security code and identification code are used interchangeably and are intended to have the same meaning.
As the demand for RKE systems has evolved in the marketplace, greater emphasis has been placed on increased security, reliability and flexibility. One area of focus has been on enabling the user in the field to re-program the security code(s) stored in receiver memory. This RKE feature, frequently referred to as "field programming," provides the user with an additional form of protection by allowing changes to the security codes.
Field programming is known in the art. A common issue within field programming is how to process old security codes stored in receiver memory upon programming new codes. One solution proposes overwriting all old codes previously added to the receiver's memory when a first new code is presented. In this scheme, a first new code is written into every available register in the receiver's memory. In the event a second fob transmitter is to be employed, a second new code is written into the second memory register and in all remaining subsequent registers. Likewise, any third or subsequent codes are added to the remaining registers in a similar fashion.
In a further approach, a method of field programming is known wherein a first new code is written into a first register in memory, while all other registers are erased. Other codes may be subsequently written into respective registers--i.e., a second new code written into a second register, a third new code written into a third register, and a fourth new code written into a fourth register, for example.
These known methods, however, have several shortcomings. Erasing and overwriting all memory locations at once is a time consuming process. Typically, EEPROMs require the erasure of a memory bit before rewriting. The erase/write cycle time is thus lengthy compared to other software processes. In order to achieve a low latency period in providing a response to the user of a successful programming operation, it is useful to only erase/write the location that the new security code will be stored into memory.
Therefore, there is a demand for a field programming method having a low latency period to provide the user with a response of a successful programming operation. Furthermore, a field programming method is required which is limited to only erasing/writing the location that the new security code will be stored into memory.